"""
ComfyUI Dify Integration - 文本输出节点包
专门为Dify工作流集成设计的ComfyUI自定义节点

作者: AI Assistant
版本: 1.0.0
描述: 提供与Dify平台集成的文本输出功能
"""

import importlib
import sys
from pathlib import Path

# 获取当前目录
current_dir = Path(__file__).parent

# 导入文本输出节点模块
try:
    from .text_output_node import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
    
    # 验证节点是否正确加载
    print(f"[Dify Integration] 成功加载 {len(NODE_CLASS_MAPPINGS)} 个节点:")
    for node_name in NODE_CLASS_MAPPINGS.keys():
        print(f"  - {node_name}")
        
except ImportError as e:
    print(f"[Dify Integration] 导入节点时出错: {e}")
    # 提供空的映射作为回退
    NODE_CLASS_MAPPINGS = {}
    NODE_DISPLAY_NAME_MAPPINGS = {}

# 导入API处理器（如果存在）
try:
    from .api_handler import DifyAPIHandler
    print("[Dify Integration] API处理器加载成功")
except ImportError:
    print("[Dify Integration] API处理器未找到，使用默认设置")
    DifyAPIHandler = None

# Web扩展（如果需要的话）
WEB_DIRECTORY = "./web"

# 节点信息
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS', 'WEB_DIRECTORY']

# 版本信息
__version__ = "1.0.0"
__author__ = "AI Assistant"
__description__ = "ComfyUI nodes for Dify integration"

# 初始化日志
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

logger.info(f"[Dify Integration] 插件初始化完成 - 版本 {__version__}")
logger.info(f"[Dify Integration] 已注册 {len(NODE_CLASS_MAPPINGS)} 个节点")

# 健康检查函数
def check_dependencies():
    """检查必要的依赖是否安装"""
    required_modules = ['json', 'logging', 'datetime']
    missing_modules = []
    
    for module in required_modules:
        try:
            importlib.import_module(module)
        except ImportError:
            missing_modules.append(module)
    
    if missing_modules:
        logger.warning(f"[Dify Integration] 缺少依赖模块: {missing_modules}")
        return False
    
    logger.info("[Dify Integration] 所有依赖检查通过")
    return True

# 执行依赖检查
check_dependencies() 